POSIXOPTIONS(7) | Linux Programmer's Manual | POSIXOPTIONS(7) |
名前¶
POSIX 標準の選択可能な部分
説明¶
POSIX 標準 (以下の情報は POSIX.1-2001 の抜粋) は 互換システムの動作とインタフェースのセットを記述している。 しかし、多くのインタフェースは選択可能であり、 コンパイル時にインタフェースが使用可能かをテストする機能テストマクロと、 実行時にテストする関数 sysconf(3), fpathconf(3), pathconf(3), confstr(3) がある。 シェルスクリプトでは getconf(1) を使うことができる。 詳細は sysconf(3) を参照すること。
POSIX 省略形の名前・オプション・オプションを調べるための sysconf() 引き数の名前・(可能ならば) 非常に短い説明を記述する。 より正確な詳細は POSIX 標準自身に書かれている。 POSIX 標準は今日では Web で自由にアクセスできる。
ADV - _POSIX_ADVISORY_INFO - _SC_ADVISORY_INFO¶
以下のアドバイスの関数が存在する。
posix_fadvise(), posix_fallocate(), posix_memalign(), posix_madvise().
AIO - _POSIX_ASYNCHRONOUS_IO - _SC_ASYNCHRONOUS_IO¶
ヘッダ <aio.h>
が存在する。
以下の関数が存在する。
aio_cancel(), aio_error(), aio_fsync(), aio_read(), aio_return(), aio_suspend(), aio_write(), lio_listio().
BAR - _POSIX_BARRIERS - _SC_BARRIERS¶
このオプションは
_POSIX_THREADS と _POSIX_THREAD_SAFE_FUNCTIONS
オプションを暗黙の内に指定する。
以下の関数が存在する。
pthread_barrier_destroy(), pthread_barrier_init(), pthread_barrier_wait(), pthread_barrierattr_destroy(), pthread_barrierattr_init().
--- - POSIX_CHOWN_RESTRICTED¶
このオプションが有効な場合
(POSIX.1-2001 では常に有効)、 root
だけがファイル所有者の変更を許され、
root
以外はファイルのグループを
自分が所属するグループの
1
つに設定することだけができる。
これは以下の関数に影響する。
chown(), fchown().
CS - _POSIX_CLOCK_SELECTION - _SC_CLOCK_SELECTION¶
このオプションは
_POSIX_TIMERS
オプションを暗黙の内に指定する。
以下の関数が存在する。
pthread_condattr_getclock(), pthread_condattr_setclock(), clock_nanosleep().
CLOCK_REALTIME が関数 clock_settime() で変更された場合、絶対時間に関係する全てのタイマのセットに影響する。
CPT - _POSIX_CPUTIME - _SC_CPUTIME¶
clockID CLOCK_PROCESS_CPUTIME_ID がサポートされている。 このクロックの初期値は、各プロセス毎に 0 となる。 このオプションは _POSIX_TIMERS オプションを暗黙の内に指定する。 関数 clock_getcpuclockid() が存在する。
--- - _POSIX_FILE_LOCKING - _SC_FILE_LOCKING¶
このオプションは削除された。XPG6 最終版にはない。
FSC - _POSIX_FSYNC - _SC_FSYNC ¶
関数 fsync() が存在する。
IP6 - _POSIX_IPV6 - _SC_IPV6¶
Internet Protocol Version 6 がサポートされている。
--- - _POSIX_JOB_CONTROL - _SC_JOB_CONTROL¶
このオプションが有効な場合
(POSIX.1-2001 では常に有効)、
システムは POSIX
方式のジョブ制御を実装しており、
以下の関数が存在する。
setpgid(), tcdrain(), tcflush(), tcgetpgrp(), tcsendbreak(), tcsetattr(), tcsetpgrp().
MF - _POSIX_MAPPED_FILES - _SC_MAPPED_FILES¶
共有メモリがサポートされている。
インクルードファイル
<sys/mman.h> が存在する。
以下の関数が存在する。
mmap(), msync(), munmap().
ML - _POSIX_MEMLOCK - _SC_MEMLOCK¶
共有メモリがコア内にロックできる。
以下の関数が存在する。
mlockall(), munlockall().
MR/MLR - _POSIX_MEMLOCK_RANGE - _SC_MEMLOCK_RANGE¶
より詳細に、範囲をコア内にロックできる。
以下の関数が存在する。
mlock(), munlock().
MPR - _POSIX_MEMORY_PROTECTION - _SC_MEMORY_PROTECTION¶
関数 mprotect() が存在する。
MSG - _POSIX_MESSAGE_PASSING - _SC_MESSAGE_PASSING¶
インクルードファイル
<mqueue.h> が存在する。
以下の関数が存在する。
mq_close(), mq_getattr(), mq_notify(), mq_open(), mq_receive(), mq_send(), mq_setattr(), mq_unlink().
MON - _POSIX_MONOTONIC_CLOCK - _SC_MONOTONIC_CLOCK¶
CLOCK_MONOTONIC がサポートされている。 このオプションは _POSIX_TIMERS オプションを暗黙の内に指定する。 影響を受ける関数は以下の通り。
aio_suspend(), clock_getres(), clock_gettime(), clock_settime(), timer_create().
--- - _POSIX_MULTI_PROCESS - _SC_MULTI_PROCESS¶
このオプションは削除された。XPG6 最終版にはない。
--- - _POSIX_NO_TRUNC¶
このオプションが有効な場合 (POSIX.1-2001 では常に有効)、 NAME_MAX より長いパス名の構成要素は切り詰められないが、エラーになる。 この設定は構成要素のパス接頭辞に依存する場合もある。
PIO - _POSIX_PRIORITIZED_IO - _SC_PRIORITIZED_IO¶
このオプションは非同期
I/O
の優先度が指定できることを表す。
これは以下の関数に影響する。
aio_read(), aio_write().
PS - _POSIX_PRIORITY_SCHEDULING - _SC_PRIORITY_SCHEDULING¶
インクルードファイル
<sched.h> が存在する。
以下の関数が存在する。
sched_get_priority_max(), sched_get_priority_min(), sched_getparam(), sched_getscheduler(), sched_rr_get_interval(), sched_setparam(), sched_setscheduler(), sched_yield().
_POSIX_SPAWN
も有効な場合は、以下の関数が存在する。
posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedparam(), posix_spawnattr_setschedpolicy().
RS - _POSIX_RAW_SOCKETS¶
raw
ソケットがサポートされている。
影響を受ける関数は以下の通り。
getsockopt(), setsockopt().
--- - _POSIX_READER_WRITER_LOCKS - _SC_READER_WRITER_LOCKS¶
このオプションは _POSIX_THREADS オプションを暗黙の内に指定する。 逆に POSIX.1-2001 では _POSIX_THREADS オプションはこのオプションを暗黙の内に指定する。 以下の関数が存在する。
pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock(), pthread_rwlockattr_destroy(), pthread_rwlockattr_init().
RTS - _POSIX_REALTIME_SIGNALS - _SC_REALTIME_SIGNALS¶
リアルタイムシグナルがサポートされている。
以下の関数が存在する。
sigqueue(), sigtimedwait(), sigwaitinfo().
--- - _POSIX_REGEXP - _SC_REGEXP¶
このオプションが有効な場合
(POSIX.1-2001 では常に有効)、
POSIX
正規表現がサポートされ、以下の関数が存在する。
regcomp(), regerror(), regexec(), regfree().
--- - _POSIX_SAVED_IDS - _SC_SAVED_IDS¶
このオプションが有効な場合
(POSIX.1-2001 では常に有効)、
プロセスは保存 (saved) set-user-ID
と保存 set-group-ID を持つ。
影響を受ける関数は以下の通り。
exec(), kill(), seteuid(), setegid(), setgid(), setuid().
SEM - _POSIX_SEMAPHORES - _SC_SEMAPHORES¶
インクルードファイル
<semaphore.h> が存在する。
以下の関数が存在する。
sem_close(), sem_destroy(), sem_getvalue(), sem_init(), sem_open(), sem_post(), sem_trywait(), sem_unlink(), sem_wait().
SHM - _POSIX_SHARED_MEMORY_OBJECTS - _SC_SHARED_MEMORY_OBJECTS¶
以下の関数が存在する。
mmap(), munmap(), shm_open(), shm_unlink().
--- - _POSIX_SHELL - _SC_SHELL¶
このオプションが有効な場合 (POSIX.1-2001 では常に有効)、関数 system() が存在する。
SPN - _POSIX_SPAWN - _SC_SPAWN¶
このオプションは、例えば
MMU
が存在しないなどの理由によって、
fork()
を使用することが難しいか不可能という状況で、
プロセス生成をサポートすることを表す。
_POSIX_SPAWN
が有効な場合、インクルードファイル
<spawn.h>
と、以下の関数が存在する。
posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), posix_spawn_file_actions_init(), posix_spawnattr_destroy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getflags(), posix_spawnattr_getpgroup(), posix_spawnattr_getsigmask(), posix_spawnattr_init(), posix_spawnattr_setsigdefault(), posix_spawnattr_setflags(), posix_spawnattr_setpgroup(), posix_spawnattr_setsigmask(), posix_spawnp().
_POSIX_PRIORITY_SCHEDULING
も有効な場合、以下の関数が存在する。
posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedparam(), posix_spawnattr_setschedpolicy().
SPI - _POSIX_SPIN_LOCKS - _SC_SPIN_LOCKS¶
このオプションは
_POSIX_THREADS と _POSIX_THREAD_SAFE_FUNCTIONS
オプションを暗黙の内に指定する。
以下の関数が存在する。
pthread_spin_destroy(), pthread_spin_init(), pthread_spin_lock(), pthread_spin_trylock(), pthread_spin_unlock().
SS - _POSIX_SPORADIC_SERVER - _SC_SPORADIC_SERVER¶
スケジューリングポリシー
SCHED_SPORADIC
がサポートされている。
このオプションは
_POSIX_PRIORITY_SCHEDULING
オプションを暗黙の内に指定する。
影響を受ける関数は以下の通り。
sched_setparam(), sched_setscheduler().
SIO - _POSIX_SYNCHRONIZED_IO - _SC_SYNCHRONIZED_IO¶
影響を受ける関数は以下の通り。 open(), msync(), fsync(), fdatasync().
TSA - _POSIX_THREAD_ATTR_STACKADDR - _SC_THREAD_ATTR_STACKADDR¶
影響を受ける関数は以下の通り。
pthread_attr_getstack(), pthread_attr_getstackaddr(), pthread_attr_setstack(), pthread_attr_setstackaddr().
TSS - _POSIX_THREAD_ATTR_STACKSIZE - _SC_THREAD_ATTR_STACKSIZE¶
影響を受ける関数は以下の通り。
pthread_attr_getstack(), pthread_attr_getstacksize(), pthread_attr_setstack(), pthread_attr_setstacksize().
TCT - _POSIX_THREAD_CPUTIME - _SC_THREAD_CPUTIME¶
clockID CLOCK_THREAD_CPUTIME_ID
がサポートされている。
このオプションは
_POSIX_TIMERS
オプションを暗黙の内に指定する。
影響を受ける関数は以下の通り。
pthread_getcpuclockid(), clock_getres(), clock_gettime(), clock_settime(), timer_create().
TPI - _POSIX_THREAD_PRIO_INHERIT - _SC_THREAD_PRIO_INHERIT¶
影響を受ける関数は以下の通り。
pthread_mutexattr_getprotocol(), pthread_mutexattr_setprotocol().
TPP - _POSIX_THREAD_PRIO_PROTECT - _SC_THREAD_PRIO_PROTECT¶
影響を受ける関数は以下の通り。
pthread_mutex_getprioceiling(), pthread_mutex_setprioceiling(), pthread_mutexattr_getprioceiling(), pthread_mutexattr_getprotocol(), pthread_mutexattr_setprioceiling(), pthread_mutexattr_setprotocol().
TPS - _POSIX_THREAD_PRIORITY_SCHEDULING - _SC_THREAD_PRIORITY_SCHEDULING¶
このオプションが有効な場合、1
つのプロセス内の個々のスレッドを
個々の優先度または個々のスケジューラ
(またはその両方)
で実行できる。
影響を受ける関数は以下の通り。
pthread_attr_getinheritsched(), pthread_attr_getschedpolicy(), pthread_attr_getscope(), pthread_attr_setinheritsched(), pthread_attr_setschedpolicy(), pthread_attr_setscope(), pthread_getschedparam(), pthread_setschedparam(), pthread_setschedprio().
TSH - _POSIX_THREAD_PROCESS_SHARED - _SC_THREAD_PROCESS_SHARED¶
影響を受ける関数は以下の通り。
pthread_barrierattr_getpshared(), pthread_barrierattr_setpshared(), pthread_condattr_getpshared(), pthread_condattr_setpshared(), pthread_mutexattr_getpshared(), pthread_mutexattr_setpshared(), pthread_rwlockattr_getpshared(), pthread_rwlockattr_setpshared().
TSF - _POSIX_THREAD_SAFE_FUNCTIONS - _SC_THREAD_SAFE_FUNCTIONS¶
影響を受ける関数は以下の通り。
readdir_r(), getgrgid_r(), getgrnam_r(), getpwnam_r(), getpwuid_r(), flockfile(), ftrylockfile(), funlockfile(), getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked(), rand_r(), strerror_r(), strtok_r(), asctime_r(), ctime_r(), gmtime_r(), localtime_r().
TSP - _POSIX_THREAD_SPORADIC_SERVER - _SC_THREAD_SPORADIC_SERVER¶
このオプションは
_POSIX_THREAD_PRIORITY_SCHEDULING
オプションを暗黙の内に指定する。
影響を受ける関数は以下の通り。
sched_getparam(), sched_setparam(), sched_setscheduler().
THR - _POSIX_THREADS - _SC_THREADS¶
POSIX
スレッドの基本サポートが使用可能である。
以下の関数が存在する。
pthread_atfork(), pthread_attr_destroy(), pthread_attr_getdetachstate(), pthread_attr_getschedparam(), pthread_attr_init(), pthread_attr_setdetachstate(), pthread_attr_setschedparam(), pthread_cancel(), pthread_cleanup_push(), pthread_cleanup_pop(), pthread_cond_broadcast(), pthread_cond_destroy(), pthread_cond_init(), pthread_cond_signal(), pthread_cond_timedwait(), pthread_cond_wait(), pthread_condattr_destroy(), pthread_condattr_init(), pthread_create(), pthread_detach(), pthread_equal(), pthread_exit(), pthread_getspecific(), pthread_join(), pthread_key_create(), pthread_key_delete(), pthread_mutex_destroy(), pthread_mutex_init(), pthread_mutex_lock(), pthread_mutex_trylock(), pthread_mutex_unlock(), pthread_mutexattr_destroy(), pthread_mutexattr_init(), pthread_once(), pthread_rwlock_destroy(), pthread_rwlock_init(), pthread_rwlock_rdlock(), pthread_rwlock_tryrdlock(), pthread_rwlock_trywrlock(), pthread_rwlock_unlock(), pthread_rwlock_wrlock(), pthread_rwlockattr_destroy(), pthread_rwlockattr_init(), pthread_self(), pthread_setcancelstate(), pthread_setcanceltype(), pthread_setspecific(), pthread_testcancel().
TMO - _POSIX_TIMEOUTS - _SC_TIMEOUTS¶
以下の関数が存在する。
mq_timedreceive(), mq_timedsend(), pthread_mutex_timedlock(), pthread_rwlock_timedrdlock(), pthread_rwlock_timedwrlock(), sem_timedwait(), posix_trace_timedgetnext_event().
TMR - _POSIX_TIMERS - _SC_TIMERS¶
以下の関数が存在する。
clock_getres(), clock_gettime(), clock_settime(), nanosleep(), timer_create(), timer_delete(), timer_gettime(), timer_getoverrun(), timer_settime().
TRC - _POSIX_TRACE - _SC_TRACE¶
POSIX トレーシング (tracing)
が使用可能である。
以下の関数が存在する。
posix_trace_attr_destroy(), posix_trace_attr_getclockres(), posix_trace_attr_getcreatetime(), posix_trace_attr_getgenversion(), posix_trace_attr_getmaxdatasize(), posix_trace_attr_getmaxsystemeventsize(), posix_trace_attr_getmaxusereventsize(), posix_trace_attr_getname(), posix_trace_attr_getstreamfullpolicy(), posix_trace_attr_getstreamsize(), posix_trace_attr_init(), posix_trace_attr_setmaxdatasize(), posix_trace_attr_setname(), posix_trace_attr_setstreamsize(), posix_trace_attr_setstreamfullpolicy(), posix_trace_clear(), posix_trace_create(), posix_trace_event(), posix_trace_eventid_equal(), posix_trace_eventid_get_name(), posix_trace_eventid_open(), posix_trace_eventtypelist_getnext_id(), posix_trace_eventtypelist_rewind(), posix_trace_flush(), posix_trace_get_attr(), posix_trace_get_status(), posix_trace_getnext_event(), posix_trace_shutdown(), posix_trace_start(), posix_trace_stop(), posix_trace_trygetnext_event().
TEF - _POSIX_TRACE_EVENT_FILTER - _SC_TRACE_EVENT_FILTER¶
このオプションは
_POSIX_TRACE
オプションを暗黙の内に指定する。
以下の関数が存在する。
posix_trace_eventset_add(), posix_trace_eventset_del(), posix_trace_eventset_empty(), posix_trace_eventset_fill(), posix_trace_eventset_ismember(), posix_trace_get_filter(), posix_trace_set_filter(), posix_trace_trid_eventid_open().
TRI - _POSIX_TRACE_INHERIT - _SC_TRACE_INHERIT¶
トレースされているプロセスの子プロセスのトレースをサポートする。
このオプションは
_POSIX_TRACE
オプションを暗黙の内に指定する。
以下の関数が存在する。
posix_trace_attr_getinherited(), posix_trace_attr_setinherited().
TRL - _POSIX_TRACE_LOG - _SC_TRACE_LOG¶
このオプションは
_POSIX_TRACE
オプションを暗黙の内に指定する。
以下の関数が存在する。
posix_trace_attr_getlogfullpolicy(), posix_trace_attr_getlogsize(), posix_trace_attr_setlogfullpolicy(), posix_trace_attr_setlogsize(), posix_trace_close(), posix_trace_create_withlog(), posix_trace_open(), posix_trace_rewind().
TYM - _POSIX_TYPED_MEMORY_OBJECTS - _SC_TYPED_MEMORY_OBJECT¶
以下の関数が存在する。
posix_mem_offset(), posix_typed_mem_get_info(), posix_typed_mem_open().
--- - _POSIX_VDISABLE¶
常に存在する (たぶん 0 である)。 変更可能な特殊制御文字を設定する値。 これにより特殊制御文字が無効であることを表す。
XOPEN 拡張¶
_XOPEN_CRYPT, _XOPEN_LEGACY, _XOPEN_REALTIME, _XOPEN_REALTIME_THREADS, _XOPEN_UNIX.
関連項目¶
2007-12-21 |